home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 November / PCWorld_2007-11_cd.bin / komunikace / plainhtml / ph45_ENU_Setup.exe / {app} / res / wpLoader.js < prev    next >
Text File  |  2006-09-07  |  4KB  |  178 lines

  1. /*
  2.     BDS Welcome Page - Content Loader Module
  3.  
  4.     Copyright (c) 2004, 2005 Borland Software Corporation
  5.  
  6.     Written by Daniel Wischnewski, Borland SE Germany.
  7.     Co-Admin of www.delphipraxis.net -- The German Delphi Community
  8.     Email: dwischnewski@gatenetwork.com
  9. */
  10.  
  11. var clientIsOnline;
  12. var clientUsesProxy;
  13. var clientProxyString;
  14. var clientProxyUser;
  15. var clientProxyPassword;
  16. var clientAppDataFolder;
  17. var appPath;
  18. var wpPath;
  19. var xmlPath;
  20. var xslPath;
  21. var fileSystemObject;
  22. var xmlPersonal;
  23. var xmlRssCache;
  24. var currentFeed;
  25.  
  26. var debug;
  27. var radBlog;
  28.  
  29. debug = false;
  30. radblog = "";
  31.  
  32. function debugAlert(msg)
  33. {
  34.     if (debug)
  35.     {
  36.         alert(msg);
  37.     }
  38. }
  39.  
  40. function displayDate()
  41. {
  42.     var date;
  43.  
  44.     date = new Date();
  45.     dateInfo.innerHTML = date.toLocaleDateString();
  46. }
  47.  
  48. function selectCurrentFeed()
  49. {
  50.     var rssFeeds;
  51.  
  52.     rssFeeds = document.getElementById("rssFeeds");
  53.     for (var i = 0; i < rssFeeds.options.length; i++)
  54.     {
  55.         if (rssFeeds.options[i].value.indexOf(currentFeed) >= 0)
  56.         {
  57.             rssFeeds.selectedIndex = i;
  58.         }
  59.     }
  60. }
  61.  
  62. function savePersonalSettings()
  63. {
  64.     var settingsFile;
  65.  
  66.     settingsFile = clientAppDataFolder + '\\welcomePageSettings.xml';
  67.     xmlPersonal.save(settingsFile);
  68. }
  69.  
  70. function saveRssCache()
  71. {
  72.     var settingsFile;
  73.  
  74.     settingsFile = clientAppDataFolder + '\\rssCache.xml';
  75.     xmlRssCache.save(settingsFile);
  76. }
  77.  
  78. function setClientIsOnline(state)
  79. {
  80.     clientIsOnline = state;
  81.     try
  82.     {
  83.         if (clientIsOnline)
  84.         {
  85.             offline.style.visibility = 'hidden';
  86.         } else {
  87.             offline.style.visibility = 'visible';
  88.         }
  89.     } catch(e) {
  90.     }
  91. }
  92.  
  93. function checkRadBlog()
  94. {
  95.     var xmlHTTP;
  96.  
  97.     try
  98.     {
  99.         if ((radBlog != "") && clientIsOnline)
  100.         {
  101.             xmlHTTP = getXmlHttpDoc();
  102.             xmlHTTP.setTimeouts(500, 500, 500, 500);
  103.             try
  104.             {
  105.                 xmlHTTP.open("GET", radBlog, false);
  106.                 xmlHTTP.send();
  107.                 if (xmlHTTP.status == 200)
  108.                     return 0;
  109.             } catch (e) {
  110.             }
  111.         }
  112.     } catch(e) {
  113.     }
  114.     radBlog = "";
  115. }
  116.  
  117. function loadRadEntry(rssFeeds)
  118. {
  119.     var channel;
  120.     var item;
  121.  
  122.     if (radBlog != "")
  123.     {
  124.         channel = rssFeeds.documentElement.insertBefore(rssFeeds.createElement("channel"), rssFeeds.documentElement.selectSingleNode("channel"));
  125.         getSubNode(channel, "title").text = "Internal Feed";
  126.         item = getSubNode(channel, "item");
  127.         getSubNode(item, "title").text = "Radblog";
  128.         getSubNode(item, "reload").text = "0";
  129.         getSubNode(item, "link").text = radBlog;
  130.     }
  131.     return rssFeeds;
  132. }
  133.  
  134. function initializePage()
  135. {
  136.     // initialize application variables
  137.     clientIsOnline = external.Application.IsOnline;
  138.     clientUsesProxy = external.Application.UsesProxy;
  139.     clientProxyString = external.Application.ProxyString;
  140.     clientUserAgentString = external.Application.UserAgent;
  141.     clientAppDataFolder = external.Application.AppDataFolder;
  142.     clientProxyUser = '';
  143.     clientProxyPassword = '';
  144.  
  145.     // determine path variables
  146.     appPath = external.Application.ExeName;
  147.     appPath = appPath.substr(0, appPath.lastIndexOf('\\'));
  148.     appPath = appPath.substr(0, appPath.lastIndexOf('\\') + 1);
  149.     wpPath = appPath + 'WelcomePage\\';
  150.     xmlPath = wpPath + 'XML\\';
  151.     xslPath = wpPath + 'XSL\\';
  152.     fileSystemObject = new ActiveXObject("Scripting.FileSystemObject");
  153.  
  154.     // load settings
  155.     xmlPersonal = loadXmlDocSafe(clientAppDataFolder + '\\welcomePageSettings.xml');
  156.     xmlRssCache = loadXmlDocSafe(clientAppDataFolder + '\\rssCache.xml');
  157.  
  158.     // load rss feeds
  159.     checkRadBlog();
  160.     displayRss(document.getElementById('toolBar'), loadLocalXmlDoc('toolBar.xml'), loadLocalXslDoc('toolBar.xsl'));
  161.     displayRss(mainMenu, loadLocalXmlDoc('menuBar.xml'), loadLocalXslDoc('menuBar.xsl'));
  162.     displayRss(rssHeaderForm, loadRadEntry(loadLocalXmlDoc('rssFeeds.xml')), loadLocalXslDoc('rssSelect.xsl'));
  163.  
  164.     // load recent projects
  165.     renderProjectsModule();
  166.  
  167.     // display current date and update ones a minute, so those night falks will be happy too
  168.     loadLanguageStrings();
  169.     displayDate();
  170.     window.setInterval('displayDate();', 60000);
  171.  
  172.     // load default rss feed
  173.     displayDefaultRss();
  174.     selectCurrentFeed();
  175.  
  176.     setClientIsOnline(clientIsOnline);
  177. }
  178.